<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script>
			/*
				标准方式声明:
					var re=new RegExp('要匹配的规则'||//,'修饰符');
				简洁方式声明:
					var re=//;
				方法：
				
				1.test
				概念：正则去匹配字符串，成功返回真，失败返回假
				写法：正则.test(字符串)
				
				2.search
				概念：正则去匹配字符串，成功返回位置（下标），失败返回-1
				写法：字符串.search(正则||字符串)
				
				3.match
				概念：正则去匹配字符串，匹配成功的放在数组里返回，不成功返回null
				写法：字符串.match(正则)
				注：	如果只找到一个，那么length为1，但是视觉上有好几个
					视觉上有好几个:{
						第一项:为匹配到的字符,
						第二项:为匹配到的字符索引,
						第三项:整个字符串
					}
					
				4.replace
				概念：正则去匹配字符串，匹配成功的字符替换成新的字符串
				写法：字符串.replace('要被替换的字符串'||正则,'替换成什么'||回调函数);
				注：
					(1)当第二个参数使用回调函数时，每当匹配到合格的字符串后，回调函数就会执行一次
					      回调函数中必须要有返回值，不然匹配的字符串会替换成undefined
					      
					(2)当第二个参数使用了回调函数之后，默认参数意义(没有子项时)
						a.函数的第一个参数：
							本次匹配到的字符串
						b.函数的第二个参数：
							本次匹配到的字符串下标
						c.函数的第三个参数：
							整个字符串
						d.函数的第三个参数之后：
							undefined
							
					(3)子项：
					 	只要在正则中有了()，那么回调函数的第二个参数之后就是子项,有几个子项对应的参数就有几个。
					 	已下面例子为例：
					 	var str = 'a1ca2ca3cabca555c';
						str.replace(/a(((\d))+)c/g,function($0,$1,$2,$3,$4,$5,$6){
							console.log($0,$1,$2,$3,$4,$5,$6);
						});
					 	$1-$3为子项（有3个）
					 	$4-$6为（索引、整个字符串、undefined）
					 	找子项可以从左往右找。
			*/
		</script>
	</body>
</html>